Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR fixes a bug that was causing the info pane to fail to load after a recent change to the way we loaded NewRelic (which, apparently, is unrelated to NewRelic itself)
An analysis of the situation, ala Claude:
Why NewRelic Exposed the Bug
The root cause was always a circular dependency between EditTagsComponent → DataService → (via EditService) → EditTagsComponent. This was a latent bug that existed before PR #887 but never manifested.
The Chain of Events
Before PR #887:
After PR #887:
// main.ts - BEFORE Angular imports
import { BrowserAgent } from '@newrelic/browser-agent/loaders/browser-agent';
import { AppModule } from './app/app.module'; // Angular loads after
Adding @newrelic/browser-agent as a static import at the top of main.ts caused the bundler to:
The new order happened to evaluate edit-tags.component.ts before data.service.ts was fully initialized, causing DataService to be undefined when Angular tried to process the providers array.
Why Removing NewRelic Didn't Fix It
Once the bundler configuration changed (new index.html, new main.ts structure), the module evaluation order was permanently altered. NewRelic was just the trigger - removing it didn't restore the old order.
The Actual Fix
Removing DataService from EditTagsComponent's component-level providers eliminated the need for DataService to be defined at module decoration time, breaking the circular dependency.